package com.zjj.edu.system.mapper;

import com.zjj.edu.system.domain.SysTenant;

import java.util.List;

/**
 * 租户表 数据层
 * 
 * @author zjj
 */
public interface SysTenantMapper
{
    /**
     * 根据条件分页查询租户数据
     * 
     * @param Tenant 租户信息
     * @return 租户数据集合信息
     */
    public List<SysTenant> selectTenantList(SysTenant Tenant);

    /**
     * 查询所有租户
     * @return
     */
    public List<SysTenant> selectTenantAll();

    /**
     * 通过租户ID查询租户
     * 
     * @param tenantId 租户ID
     * @return 租户对象信息
     */
    public SysTenant selectTenantById(Long tenantId);

    /**
     * 通过租户ID删除租户
     * 
     * @param TenantId 租户ID
     * @return 结果
     */
    public int deleteTenantById(Long TenantId);

    /**
     * 批量删除租户用户信息
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteTenantByIds(Long[] ids);

    /**
     * 修改租户信息
     * 
     * @param Tenant 租户信息
     * @return 结果
     */
    public int updateTenant(SysTenant Tenant);

    /**
     * 新增租户信息
     * 
     * @param Tenant 租户信息
     * @return 结果
     */
    public int insertTenant(SysTenant Tenant);

    /**
     * 校验租户名称是否唯一
     * 
     * @param TenantName 租户名称
     * @return 租户信息
     */
    public SysTenant checkTenantNameUnique(String TenantName);

    /**
     * 校验租户编码是否唯一
     *
     * @param TenantCode 租户编码
     * @return 租户信息
     */
    public SysTenant checkTenantCodeUnique(String TenantCode);
    
    /**
     * 校验租户权限是否唯一
     * 
     * @param TenantKey 租户权限
     * @return 租户信息
     */
    public SysTenant checkTenantKeyUnique(String TenantKey);
}
